﻿/******************************************************************************
 * 
 * Announce: CSharpKit, Basic algorithms, components and definitions.
 *           Copyright (C) ShenYongchen.
 *           All rights reserved.
 *   Author: 申永辰.郑州 (shenyczz@163.com)
 *  WebSite: http://github.com/shenyczz/CSharpKit
 *
 * THIS CODE IS LICENSED UNDER THE MIT LICENSE (MIT).
 * THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF 
 * ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY
 * IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR
 * PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.
 * 
******************************************************************************/

using System;
using System.Diagnostics;

namespace CSharpKit.Numerics.LinearAlgebra.Doubles
{
    [Serializable]
    [DebuggerDisplay("DenseVector {" + nameof(Count) + "}-Double")]
    public class DenseVector : Vector
    {
        public DenseVector(int length)
            : this(new VectorStorageDense<double>(length)) { }

        public DenseVector(double[] data)
            : this(new VectorStorageDense<double>(data.Length, data)) { }

        public DenseVector(VectorStorageDense<double> storage)
            : base(storage)
        {
            _length = storage.Length;
            _values = storage.Data;
        }


        readonly int _length;

        readonly double[] _values;
        public double[] Values => _values;






        //}}@@@
    }

}

